package in.rob.client.fragment; import android.content.Intent; import in.controller.adapter.InteractionAdapter; import in.controller.handler.InteractionStreamResponseHandler; import in.data.stream.InteractionStream; import in.lib.Constants; import in.lib.manager.APIManager; import in.lib.manager.ResponseManager; import in.lib.utils.Views.Injectable; import in.model.AdnModel; import in.model.Interaction; import in.model.Interaction.Type; import in.rob.client.ProfileActivity; import in.rob.client.ThreadActivity; import in.rob.client.fragment.base.StreamFragment; @Injectable public class InteractionsFragment extends StreamFragment { @Override public void setupAdapter() { setAdapter(new InteractionAdapter(getContext())); } @Override public void onDataReady() { } @Override public void fetchStream(String lastId, boolean append) { InteractionStreamResponseHandler response = new InteractionStreamResponseHandler(append); ResponseManager.getInstance().addResponse(getResponseKeys()[0], response, this); APIManager.getInstance().getInteractions(lastId, response); } @Override public void onListItemClick(AdnModel item) { Interaction model = (Interaction)item; if (model.getType() == Type.REPOST || model.getType() == Type.STAR) { Intent threadIntent = new Intent(getContext(), ThreadActivity.class); threadIntent.putExtra(Constants.EXTRA_POST, model.getObject()); getActivity().startActivity(threadIntent); } else { if (model.getUsers().size() == 1) { Intent profileIntent = new Intent(getContext(), ProfileActivity.class); profileIntent.putExtra(Constants.EXTRA_USER, model.getUsers().get(0)); getActivity().startActivity(profileIntent); } } } @Override public Class getCacheClass() { return InteractionStream.class; } @Override public String[] getResponseKeys() { return new String[] { Constants.RESPONSE_INTERACTIONS }; } @Override public String getCacheKey() { return Constants.CACHE_INTERACTIONS; } }